#pragma once
#include "Comm.h"
#include "Buffer.h"

namespace COMM
{
	class COMM_API Application
	{
	public:
		// directory function
		//
		static String GetApplicationFilePath();
		static String GetApplicationDirectory();
		static String GetApplicationFileName();
#ifdef COMM_MSVC
		static String GetModuleFilePath();
		static String GetModuleDirectoryPath();
		static String GetModuleFileName();
		static void CatchDumpWhenCrash();
#endif
		static String GetPathDirectory(const char* path);
		static String GetPathFileName(const char* path);

		static StringList ParseCommandLine(const char* cmdline);
		static String GenerateUUID();
		// filename: is the name of CreateEvent() in windows, but not include "Global\\".
		static bool IsSingleProcess(const char* filename);

	};
}


